The present invention relates to an image processing apparatus, an image printing apparatus, a control method of these apparatuses, a printer driver, and a storage medium and, more particularly, to an image processing apparatus, an image printing apparatus, a control method of these apparatuses, a printer driver, and a storage medium by which, in an image printing apparatus for processing color images, the volume of image data can be reduced by determining the number of gray levels of each color from the possible memory capacity and the data amount to be transferred, and, for a compressible color, by compressing image data to be transferred beforehand by a printing processor.
For example, when a printer such as an inkjet printer by which the number of gray levels which can be output is extremely limited is to be used, the number of gray levels of image data is converted into the number of gray levels expressible by the printer by quantization performed by a printer driver on a host computer. After that, the image data is transferred from the host computer to the printer.
However, along with a recent increase in resolution of printers, the amount of image data to be transferred increases, and this increases the time required to transfer image data from a host computer to a printer. This may lead to a decrease in printing throughput.
To solve this problem, a density pattern method is used. That is, a printer driver on a host computer sends only tone information of the density pattern to a printer. The printer converts the received density pattern tone information into a dot pattern.
In this method, the host computer does not directly transfer binary data to the printer but transfers only tone information of the density pattern. This reduces the data amount to be transferred.
For example, assuming that the resolution of a printer is 1,200 dpi and the density pattern is formed every four dots, i.e., two in each of vertical and horizontal directions, which are output from the printer, five gray levels can be expressed as shown in FIG. 6.
That is, the printer driver performs 5-valued quantization for 600-dpi pixel information. For quantization errors generated by this quantization, dot area modulation represented by error diffusion is performed.
The printer driver performs this processing before sending binary data directly to the printer, and transmits only the quantized tone in formation to the printer. By this processing alone, a continuous-tone image can be output to the printer in a pseudo manner. This reduces the data amount transferred from the host computer to the printer, and makes it possible to express a continuous-tone image without deteriorating the image quality.
To transfer image data from the host computer to the printer by using the density pattern method described above, the above-mentioned 5-valued quantized data is expressed by a quantized code having a predetermined bit length. This quantized code is then packed and transferred.
In connection with this packing process, the bit length of the quantized code is, e.g., two bits, four bits, or eight bits (since the data transfer unit is eight bits or sixteen bits). For 5-valued quantized data, a 4-bit quantized code is used.
In the case of 5-valued quantized data, therefore, tone information containing only five of sixteen values as a maximum number of gray levels expressible by four bits is used (the eleven remaining values are unused). This results in very redundant information.
Even this highly redundant information which expresses five gray levels by four bits poses no problem, if a somewhat low data transfer rate is permissible or if the printer has a large memory capacity. However, if the printer is to print data with high resolution at high speed or if the memory capacity of the printer must be reduced in order to reduce the cost of the printer, the data transfer rate or the data amount storable by the printer is important.
That is, it is very inefficient to transfer to the printer highly redundant information which expresses five gray levels by four bits.
To avoid this problem without changing the unit density pattern, it is possible to reduce the number of gray levels from five to four, thereby reducing the number of bits of the quantized code to two. However, reducing the number of gray levels causes discontinuous gray levels, forms pseudo contours, or increases graininess, thereby undesirably lowering the quality of the output image.
To solve the above problem, the prevent inventors disclosed another technique in Japanese Patent Laid-Open No. 2001-69358. This disclosure is related to a compression process which packs 12-bit data formed by gathering 5-valued, 4-bit data of three pixels into eight bits. This compression process can reduce the redundancy of an information amount without deteriorating the image quality.
Unfortunately, a problem sometimes arises when the above compression process is applied to a 6-color ink system which is used in recent high-quality inkjet printers to achieve high image quality.
That is, in this 6-color ink system aiming at high image quality, each ink color must be processed with an optimum number of gray levels.
This will be explained with reference to FIGS. 7A to 7C. The 6-color ink system for achieving high image quality uses inks of four colors, i.e., yellow, magenta, cyan, and black, and, in order to increase the number of gray levels, uses inks of two other colors, i.e., light cyan and light magenta lighter than cyan and magenta, respectively. Yellow, magenta, cyan, black, light cyan, and light magenta will be respectively referred to as Y, M, C, K, LC, and LM hereinafter. Also, light cyan and light magenta will be generally called light inks, and cyan ink and magenta ink darker than light cyan and light magenta will be generally called dark inks.
FIG. 7A shows an example of the relationship between the input signal and the ink discharge amount in a tone generating system using both light ink (LC or LM) and dark ink (C or M). FIG. 7A also shows an example of the relationship between the input signal and the ink discharge amount when only light ink (LC or LM) is used.
As shown in FIG. 7A, assuming that the ink discharge amount when one dot is formed at a resolution of 1,200 dpi is 100%, the following discharge amount characteristic is used. That is, as shown by a light ink discharge amount characteristic 1 indicated by the dotted line, the light ink alone is used until 100%. As shown by a dark ink discharge amount characteristic 1 indicated by the alternate long and short dashed line, the dark ink begins to be discharged when the light ink reaches 100%. The discharge amounts of the light ink and dark ink are gradually reduced and increased, respectively, and finally the dark ink reaches 100%.
Assume that ink discharge amounts of 80 to 100, 60 to 80, 40 to 60, 20 to 40, and 0 to 20% of the light ink or dark ink explained above correspond to 4 dots, 3 dots, 2 dots, 1 dot, and 0 dot, respectively, shown in FIG. 6, and that the dark ink density is twice the light ink density. In this case, nine gray levels from 0 to 8 shown in FIG. 7B can be expressed by controlling the discharge amounts of the light ink and dark ink as represented by the light ink discharge amount characteristic 1 and the dark ink discharge amount characteristic 1 shown in FIG. 7A.
Note that this example shown in FIG. 7A is merely an example, so the characteristics can also be nonlinear ones rather than linear ones as shown in FIG. 7A. Also, the characteristics can change in accordance with hue. Furthermore, the ratio of the dark ink density to the light ink density need not be twice and can be appropriately changed.
No problem arises when the density balance between the dark ink density and the light ink density is satisfactory (in the above example, when the dark ink density is accurately controlled to be twice the light ink density), and so the start of dark ink discharge is inconspicuous. However, if the light ink is much lighter than the dark ink or the dark ink is much darker than the light ink, the graininess of the dark ink is sometimes conspicuous at the start of ink discharge.
If this is the case, the light ink discharge amount is raised to 200% as shown by a light ink discharge amount characteristic 2 indicated by the solid line in FIG. 7A. This increases the solid density when data is printed only with this light ink, and improves connection with the dark ink. Consequently, connection between the dark ink and the light ink improves.
FIG. 8 shows examples of density patterns until 200% discharge by the light ink discharge amount characteristic 2 using the light ink. Assume that ink discharge amounts of 180 to 200, 160 to 180, 140 to 160, 100 to 120, 60 to 80, 40 to 60, 20 to 40, and 0 to 20% of the light ink shown in FIG. 7A correspond to 8 dots, 7 dots, 6 dots, 5 dots, 4 dots, 3 dots, 2 dots, 1 dot, and 0 dot, respectively, shown in FIG. 8, and that the dark ink density is twice the light ink density. In this case, nine gray levels from 0 to 8 shown in FIG. 7C can be expressed by controlling the discharge amount of the light ink as represented by the light ink discharge amount characteristic 2 shown in FIG. 7A.
Note that this example shown in FIG. 7A is merely an example, so the characteristics can also be nonlinear ones rather than linear ones as shown in FIG. 7A. Also, the characteristics can change in accordance with hue.
As shown in FIG. 8, an ink discharge amount of 200% is realized by making the resolution twice that when the maximum ink discharge amount is 100% shown in FIG. 6. The density pattern shown in FIG. 8 has 4xc3x972 dots. Therefore, the number of gray levels is 9 from 0 to 8 as shown in FIG. 8.
Compared to five values, nine values have small redundancy of an information amount in four bits. Additionally, since nine values cannot be compressed as efficiently as five values, the system merit improves when no such compression process as performed for five values is performed for nine values.
Unfortunately, if the number of gray levels of each of all six colors is unconditionally converted to nine values as explained above and these nine values are processed every four bits without being compressed, the initially stated problems of the transfer data amount and the data storage area arise when the data is transferred from the host computer to the printer.
The present invention has been proposed to solve the conventional problems, and has as its object to provide an image processing apparatus and image processing method capable of outputting a color image to an image printing apparatus by reducing the information amount of each color component of the image by a method suited to the color component without deteriorating the quality of the image.
It is another object of the present invention to provide an image printing apparatus and its control method capable of printing a color image without deteriorating the quality of the image, on the basis of output image data from the image processing apparatus described above.
To achieve the above objects, an image processing apparatus according to the present invention has the following arrangements.
That is, an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, comprising; first quantizing means for quantizing a color component of the multilevel color image data into N1 values, and outputting the color component as a K1-bit code capable of expressing the N1 values; second quantizing means for quantizing a color component of the multilevel color image data into N2 values larger than the N1 values, and outputting the color component as a K2-bit code capable of expressing the N2 values; quantization selecting means for selecting one of the first and second quantizing means in accordance with a color component of the multilevel color image data; converting means for collecting the K1-bit codes of M pixels and converting the collected K1-bit codes into a code having L1 bits less than K1xc3x97M, if the quantization selecting means selects the first quantizing means; and output means for collectively outputting output data from the converting means as data formed for every predetermined number of bits.
Preferably, in the image processing apparatus described above, if the second quantizing means is selected, the K2-bit code is output without being converted.
Preferably, in the image processing apparatus described above, the quantization selecting means uses the first quantizing means for a color component to be printed in ink having a relatively high density, and uses the second quantizing means for a color component to be printed in ink having a relatively low density.
Preferably, in the image processing apparatus described above, the low-density color components are light cyan and light magenta, and the high-density color components are cyan, magenta, yellow, and black.
Preferably, in the image processing apparatus described above, the predetermined number of bits is a natural multiple of the L1 bits, and the data formed for every predetermined number of bits is transferred to an image printing apparatus.
Preferably, in the image processing apparatus described above, the quantization selecting means comprises selecting means for selecting one of the first and second quantizing means on the basis of a print mode which designates selection of one of the first and second quantizing means.
Preferably, in the image processing apparatus described above, the selecting means selects one of the first and second quantizing means in accordance with one of a type of printing apparatus for outputting the image data, a type of medium, and a resolution.
To achieve the above objects, an image printing apparatus according to the present invention has the following arrangements.
That is, an image printing apparatus for printing an image on the basis of color image data output by reducing the information amount thereof, comprising; separating means for separating the color image data into a compressed code and an uncompressed code for every predetermined number of bits, in accordance with color components of the color image data; restoring means for restoring the compressed code separated by the separating means; and image printing means for printing the image by using the uncompressed code and the restored code.
Preferably, in the image printing apparatus described above, the compressed code is formed by collecting K1-bit codes, capable of expressing N1 values, of M pixels, and compressing the collected K1-bit codes into a code having L1 bits less than K1xc3x97M, and the uncompressed code is a K2-bit code capable of expressing N2 values.
Preferably, in the image printing apparatus described above, the restoring means restores the compressed L1 bit code into the K1-bit codes of M pixels.
Preferably, in the image printing apparatus described above, the image printing means prints the image by using the K2-bit code and the K1-bit code.
Preferably, in the image printing apparatus described above, of color components of the color image data, the compressed code is a color component to be printed in ink having a relatively high density, and the uncompressed code is a color component to be printed in ink having a relatively low density.
Preferably, in the image printing apparatus described above, the low-density color components are light cyan and light magenta inks, and the high-density color components are cyan, magenta, yellow, and black inks.
Preferably, in the image printing apparatus described above, the predetermined number of bits is a natural multiple of the L1 bits.
Preferably, in the image printing apparatus described above, a printing operation is performed using a printhead.
Preferably, in the image printing apparatus described above, the printhead comprises a plurality of printing elements including an electrothermal converter which generates thermal energy as energy for discharging ink.
To achieve the above objects, a printer driver according to the present invention has the following arrangements.
That is, a printer driver which is executed by an information processing apparatus, and which outputs, to an image printing apparatus, multilevel color image data to be printed by reducing the information amount of the data, comprising; a first quantization module for quantizing a color component of the multilevel color image data into N1 values, and outputting the color component as a K1-bit code capable of expressing the N1 values; a second quantization module for quantizing a color component of the multilevel color image data into N2 values larger than the N1 values, and outputting the color component as a K2-bit code capable of expressing the N2 values; a quantization selecting module for selecting one of the first and second quantization modules in accordance with a color component of the multilevel color image data; a converting module for collecting the K1-bit codes of M pixels and converting the collected K1-bit codes into a code having L1 bits less than K1xc3x97M, if the quantization selecting module selects the first quantization module; a non-converting module for outputting the K2-bit code without conversion if the quantization selecting module selects the second quantization module; and an output module for collectively outputting output data from the converting and non-converting modules as data formed for every predetermined number of bits.
Preferably, in the printer driver described above, the quantization selecting module uses the first quantization module for a color component to be printed in ink having a relatively high density, and uses the second quantization module for a color component to be printed in ink having a relatively low density.
Preferably, in the printer driver described above, the low-density color components are light cyan and light magenta, and the high-density color components are cyan, magenta, yellow, and black.
Preferably, in the printer driver described above, the predetermined number of bits is a natural multiple of the L1 bits, and the data formed for every predetermined number of bits is transferred to an image printing apparatus.
Preferably, in the printer driver described above, the quantization selecting module comprises a selecting module for selecting one of the first and second quantization modules on the basis of a print mode which designates selection of one of the first and second quantization modules.
Preferably, in the printer driver described above, the selecting module selects one of the first and second quantization modules in accordance with one of a type of printing apparatus for outputting the image data, a type of medium, and a resolution.
To achieve the above objects, an image processing apparatus control method according to the present invention has the following arrangement.
That is, a control method of an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, comprising; the first quantization step of quantizing a color component of the multilevel color image data into N1 values, and outputting the color component as a K1-bit code capable of expressing the N1 values; the second quantization step of quantizing a color component of the multilevel color image data into N2 values (N2 greater than N1), and outputting the color component as a K2-bit code capable of expressing the N2 values; the quantization selecting step of selecting one of the first and second quantization steps in accordance with a color component of the multilevel color image data; the conversion step of collecting the K1-bit codes of M pixels and converting the collected K1-bit codes into a code having L1 (K1xc3x97M greater than L1) bits, if the first quantization step is selected in the quantization selecting step; and the output step of collectively outputting output data from the conversion step as data formed for every predetermined number of bits.
To achieve the above objects, an image printing apparatus control method according to the present invention has the following arrangement.
That is, a control method of an image printing apparatus for printing an image on the basis of color image data which is output by reducing the information amount thereof, comprising; the separation step of separating the color image data into a compressed code and an uncompressed code for every predetermined number of bits, in accordance with color components of the color image data; the restoration step of restoring the compressed code separated in the separation step; and the image printing step of printing the image by using the uncompressed code and the restored code.
To achieve the above objects, a program according to the present invention executes the following program module.
That is, a program capable of executing on a computer a control method of an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, wherein the program executes; a first quantization module for quantizing a color component of the multilevel color image data into N1 values, and outputting the color component as a K1-bit code capable of expressing the N1 values; a second quantization module for quantizing a color component of the multilevel color image data into N2 (N2 greater than N1) values, and outputting the color component as a K2-bit code capable of expressing the N2 values; a quantization selecting module for selecting one of the first and second quantization modules in accordance with a color component of the multilevel color image data; a conversion module for collecting the K1-bit codes of M pixels and converting the collected K1-bit codes into a code having L1 (K1xc3x97M greater than L1) bits, if the quantization selecting module selects the first quantization module; and an output module for collectively outputting output data from the conversion module as data formed for every predetermined number of bits.
Alternatively, a program capable of executing on a computer a control method of an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, wherein the program executes; a separation module for separating the color image data into a compressed code and an uncompressed code for every predetermined number of bits, in accordance with color components of the color image data; a restoration module for restoring the compressed code separated by the processing by the separation module; and an image printing module for printing the image by using the uncompressed code and the restored code.
To achieve the above objects, a storage medium according to the present invention has the following program module.
That is, a computer-readable recording medium for executing a control method of an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, comprising; a first quantization module for quantizing a color component of the multilevel color image data into N1 values, and outputting the color component as a K1-bit code capable of expressing the N1 values; a second quantization module for quantizing a color component of the multilevel color image data into N2 (N2 greater than N1) values, and outputting the color component as a K2-bit code capable of expressing the N2 values; a quantization selecting module for selecting one of the first and second quantization modules in accordance with a color component of the multilevel color image data; a conversion module for collecting the K1-bit codes of M pixels and converting the collected K1-bit codes into a code having L1 (K1xc3x97M greater than L1) bits, if the quantization selecting module selects the first quantization module; and an output module for collectively outputting output data from the conversion module as data formed for every predetermined number of bits.
Alternatively, a computer-readable recording medium for executing a control method of an image processing apparatus for outputting multilevel color image data by reducing the information amount of the data, comprising; a separation module for separating the color image data into a compressed code and an uncompressed code for every predetermined number of bits, in accordance with color components of the color image data; a restoration module for restoring the compressed code separated by the processing by the separation module; and an image printing module for printing the image by using the uncompressed code and the restored code.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.